[IA64] Use rcu where possible.
authorAlex Williamson <alex.williamson@hp.com>
Fri, 18 Jan 2008 20:55:26 +0000 (13:55 -0700)
committerAlex Williamson <alex.williamson@hp.com>
Fri, 18 Jan 2008 20:55:26 +0000 (13:55 -0700)
This is for consistency.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
xen/arch/ia64/vmx/vmx_hypercall.c
xen/arch/ia64/xen/dom0_ops.c
xen/arch/ia64/xen/mm.c

index ff919695493db60ecf8b18a4fbd203e2cf0455d3..5f79cb59d134f11f3b08ea5d80038e42d156a4fa 100644 (file)
@@ -53,7 +53,7 @@ static int hvmop_set_isa_irq_level(
     if ( op.isa_irq > 15 )
         return -EINVAL;
 
-    d = get_domain_by_id(op.domid);
+    d = rcu_lock_domain_by_id(op.domid);
     if ( d == NULL )
         return -ESRCH;
 
@@ -65,7 +65,7 @@ static int hvmop_set_isa_irq_level(
     viosapic_set_irq(d, op.isa_irq, op.level);
 
  out:
-    put_domain(d);
+    rcu_unlock_domain(d);
     return rc;
 }
 
@@ -85,7 +85,7 @@ static int hvmop_set_pci_intx_level(
     if ( (op.domain > 0) || (op.bus > 0) || (op.device > 31) || (op.intx > 3) )
         return -EINVAL;
 
-    d = get_domain_by_id(op.domid);
+    d = rcu_lock_domain_by_id(op.domid);
     if ( d == NULL )
         return -ESRCH;
 
@@ -97,7 +97,7 @@ static int hvmop_set_pci_intx_level(
     viosapic_set_pci_irq(d, op.device, op.intx, op.level);
 
  out:
-    put_domain(d);
+    rcu_unlock_domain(d);
     return rc;
 }
 
@@ -122,10 +122,10 @@ do_hvm_op(unsigned long op, XEN_GUEST_HANDLE(void) arg)
             return -EINVAL;
 
         if (a.domid == DOMID_SELF) {
-            d = get_current_domain();
+            d = rcu_lock_current_domain();
         }
         else if (IS_PRIV(current->domain)) {
-            d = get_domain_by_id(a.domid);
+            d = rcu_lock_domain_by_id(a.domid);
             if (d == NULL)
                 return -ESRCH;
         }
@@ -167,7 +167,7 @@ do_hvm_op(unsigned long op, XEN_GUEST_HANDLE(void) arg)
             rc = copy_to_guest(arg, &a, 1) ? -EFAULT : 0;
         }
 
-        put_domain(d);
+        rcu_unlock_domain(d);
         break;
     }
 
index 87cf572807ede2d2ae45ebe30c60f2a35da2776e..56c23c7e0d8a5994db5ba6641735de22ba028cf0 100644 (file)
@@ -44,7 +44,7 @@ long arch_do_domctl(xen_domctl_t *op, XEN_GUEST_HANDLE(xen_domctl_t) u_domctl)
     case XEN_DOMCTL_getmemlist:
     {
         unsigned long i;
-        struct domain *d = get_domain_by_id(op->domain);
+        struct domain *d = rcu_lock_domain_by_id(op->domain);
         unsigned long start_page = op->u.getmemlist.start_pfn;
         unsigned long nr_pages = op->u.getmemlist.max_pfns;
         uint64_t mfn;
@@ -72,15 +72,14 @@ long arch_do_domctl(xen_domctl_t *op, XEN_GUEST_HANDLE(xen_domctl_t) u_domctl)
         op->u.getmemlist.num_pfns = i;
         if (copy_to_guest(u_domctl, op, 1))
             ret = -EFAULT;
-
-        put_domain(d);
+        rcu_unlock_domain(d);
     }
     break;
 
     case XEN_DOMCTL_arch_setup:
     {
         xen_domctl_arch_setup_t *ds = &op->u.arch_setup;
-        struct domain *d = get_domain_by_id(op->domain);
+        struct domain *d = rcu_lock_domain_by_id(op->domain);
 
         if ( d == NULL) {
             ret = -EINVAL;
@@ -155,7 +154,7 @@ long arch_do_domctl(xen_domctl_t *op, XEN_GUEST_HANDLE(xen_domctl_t) u_domctl)
             }
         }
 
-        put_domain(d);
+        rcu_unlock_domain(d);
     }
     break;
 
@@ -163,11 +162,11 @@ long arch_do_domctl(xen_domctl_t *op, XEN_GUEST_HANDLE(xen_domctl_t) u_domctl)
     {
         struct domain *d; 
         ret = -ESRCH;
-        d = get_domain_by_id(op->domain);
+        d = rcu_lock_domain_by_id(op->domain);
         if ( d != NULL )
         {
             ret = shadow_mode_control(d, &op->u.shadow_op);
-            put_domain(d);
+            rcu_unlock_domain(d);
             if (copy_to_guest(u_domctl, op, 1))
                 ret = -EFAULT;
         } 
@@ -182,7 +181,7 @@ long arch_do_domctl(xen_domctl_t *op, XEN_GUEST_HANDLE(xen_domctl_t) u_domctl)
         unsigned int lp = fp + np - 1;
 
         ret = -ESRCH;
-        d = get_domain_by_id(op->domain);
+        d = rcu_lock_domain_by_id(op->domain);
         if (unlikely(d == NULL))
             break;
 
@@ -195,7 +194,7 @@ long arch_do_domctl(xen_domctl_t *op, XEN_GUEST_HANDLE(xen_domctl_t) u_domctl)
                 ret = ioports_deny_access(d, fp, lp);
         }
 
-        put_domain(d);
+        rcu_unlock_domain(d);
     }
     break;
 
@@ -205,7 +204,7 @@ long arch_do_domctl(xen_domctl_t *op, XEN_GUEST_HANDLE(xen_domctl_t) u_domctl)
         struct vcpu *v;
 
         ret = -ESRCH;
-        d = get_domain_by_id(op->domain);
+        d = rcu_lock_domain_by_id(op->domain);
         if ( d == NULL )
             break;
 
@@ -234,7 +233,7 @@ long arch_do_domctl(xen_domctl_t *op, XEN_GUEST_HANDLE(xen_domctl_t) u_domctl)
         }
 
     sendtrigger_out:
-        put_domain(d);
+        rcu_unlock_domain(d);
     }
     break;
 
@@ -347,7 +346,7 @@ long arch_do_domctl(xen_domctl_t *op, XEN_GUEST_HANDLE(xen_domctl_t) u_domctl)
     case XEN_DOMCTL_set_opt_feature:
     {
         struct xen_ia64_opt_feature *optf = &op->u.set_opt_feature.optf;
-        struct domain *d = get_domain_by_id(op->domain);
+        struct domain *d = rcu_lock_domain_by_id(op->domain);
 
         if (d == NULL) {
             ret = -EINVAL;
@@ -355,7 +354,7 @@ long arch_do_domctl(xen_domctl_t *op, XEN_GUEST_HANDLE(xen_domctl_t) u_domctl)
         }
 
         ret = domain_opt_feature(d, optf);
-        put_domain(d);
+        rcu_unlock_domain(d);
     }
     break;
 
index efb564cfa930d4b918dc4d055502e2184094e90e..53e6623de85b27ab8827bea463829f7b9447470f 100644 (file)
@@ -1473,7 +1473,7 @@ __dom0vp_add_physmap(struct domain* d, unsigned long gpfn,
     if (flags & (ASSIGN_nocache | ASSIGN_pgc_allocated))
         return -EINVAL;
 
-    rd = get_domain_by_id(domid);
+    rd = rcu_lock_domain_by_id(domid);
     if (unlikely(rd == NULL)) {
         switch (domid) {
         case DOMID_XEN:
@@ -1489,7 +1489,7 @@ __dom0vp_add_physmap(struct domain* d, unsigned long gpfn,
             return -ESRCH;
         }
         BUG_ON(rd == NULL);
-        get_knownalive_domain(rd);
+        rcu_lock_domain(rd);
     }
 
     if (unlikely(rd == d))
@@ -1512,7 +1512,7 @@ __dom0vp_add_physmap(struct domain* d, unsigned long gpfn,
     //don't update p2m table because this page belongs to rd, not d.
     perfc_incr(dom0vp_add_physmap);
 out1:
-    put_domain(rd);
+    rcu_unlock_domain(rd);
     return error;
 }
 
@@ -2785,17 +2785,16 @@ arch_memory_op(int op, XEN_GUEST_HANDLE(void) arg)
         if (copy_from_guest(&xatp, arg, 1))
             return -EFAULT;
 
-        if (xatp.domid == DOMID_SELF) {
-            d = get_current_domain();
-        }
+        if (xatp.domid == DOMID_SELF)
+            d = rcu_lock_current_domain();
         else if (!IS_PRIV(current->domain))
             return -EPERM;
-        else if ((d = get_domain_by_id(xatp.domid)) == NULL)
+        else if ((d = rcu_lock_domain_by_id(xatp.domid)) == NULL)
             return -ESRCH;
 
         /* This hypercall is used for VT-i domain only */
         if (!VMX_DOMAIN(d->vcpu[0])) {
-            put_domain(d);
+            rcu_unlock_domain(d);
             return -ENOSYS;
         }
 
@@ -2821,7 +2820,7 @@ arch_memory_op(int op, XEN_GUEST_HANDLE(void) arg)
         }
 
         if (mfn == 0) {
-            put_domain(d);
+            rcu_unlock_domain(d);
             return -EINVAL;
         }
 
@@ -2853,7 +2852,7 @@ arch_memory_op(int op, XEN_GUEST_HANDLE(void) arg)
     out:
         UNLOCK_BIGLOCK(d);
         
-        put_domain(d);
+        rcu_unlock_domain(d);
 
         break;
     }